package com.alibaba.algo.cooperation.usercomponent.service.user;

import com.alibaba.algo.cooperation.common.BaseResult;
import com.alibaba.algo.cooperation.usercomponent.vo.req.user.OrgLabelEmployeeRequestVO;
import com.alibaba.algo.cooperation.usercomponent.vo.req.user.OrgLabelPageVO;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;

/**
 * 岗位标签相关接口
 *
 * @author Songtinghua
 * @create 2021-10-29 11:05
 **/
@FeignClient(url="${feign.userCenterUrl:}", value = "usercenter-service", contextId = "usercenter-app")
public interface SysOrgLabelService {

    /**
     * 岗位标签新增接口
     *
     * @param param web input param
     * @return baseResult
     */
    @RequestMapping(value = "/sysOrgLabel/insert", method = RequestMethod.POST)
    BaseResult insert(@RequestBody OrgLabelEmployeeRequestVO param);


    /**
     * 岗位标签更新接口
     *
     * @param param web input param
     * @return baseResult
     */
    @RequestMapping(value = "/sysOrgLabel/update", method = RequestMethod.POST)
    BaseResult update(@RequestBody OrgLabelEmployeeRequestVO param);


    /**
     * 批量删除岗位标签
     *
     * @param vo
     * @return 删除结果
     */
    @RequestMapping(value = "/sysOrgLabel/delete", method = RequestMethod.POST)
    BaseResult delete(@RequestBody List<Long> vo);


    /**
     * 查询岗位标签详情
     *
     * @param id
     * @return 删除结果
     */
    @RequestMapping(value = "/sysOrgLabel/selectDetail", method = RequestMethod.POST)
    BaseResult selectDetail(@RequestParam("id") Long id);

    /**
     * 岗位标签分页查询
     *
     * @param param 入参
     * @return 分页结果
     */
    @RequestMapping(value = "/sysOrgLabel/selectPage", method = RequestMethod.POST)
    BaseResult selectPage(@RequestBody OrgLabelPageVO param);
}
